﻿
using MessagePack;

namespace StudentAgeSaveEditor.GameData.Increase
{
    [Union(0, typeof(IncreaserAttr))]
    [Union(1, typeof(IncreaserAttrEachRound))]
    [Union(2, typeof(IncreaserAttrEachRoundAge))]
    [Union(3, typeof(IncreaserAttrEachRoundNpc))]
    [Union(4, typeof(IncreaserAttrOtherValue))]
    [Union(5, typeof(IncreaserAttrPersonalityLevel))]
    [Union(6, typeof(IncreaserAttrPersonalityValue))]
    [Union(7, typeof(IncreaserAttrSkillLevel))]
    [Union(8, typeof(IncreaserKnowledgeEachRound))]
    [Union(9, typeof(MultiplierAttr))]
    [Union(10, typeof(MultiplierAttrPersonalityLevel))]
    [Union(11, typeof(MultiplierCommon))]
    [Union(12, typeof(IncreaserHobby))]
    [Union(13, typeof(IncreaserRound))]
    [Union(14, typeof(IncreaserAttrPerAttr))]
    [Union(15, typeof(IncreaserSkillType))]
    [Union(16, typeof(IncreaserAttrPerAttr2))]
    [Union(17, typeof(IncreaserAttrRelation))]
    [Union(18, typeof(IncreaserAttrEquip))]
    [Union(19, typeof(MultiplierAttrValue))]
    [Union(20, typeof(IncreaserOther))]
    public abstract class BaseIncreaser
    {
        public ulong uid;

        public int type;

        public BaseIncreaser parent;

        public int toRoleId;

        public int fromRoleId;

        public string tag;

        private string split = "\n";

        public int rateType;

        public int compareValue;
    }
}
